Rules for integrands of the form(((a+b x))^m) (((c+d x))^n)

0:  ∫(((a+b x))^m) (c+d x)dx  when  a d-b c (m+2)==0

Derivation: Algebraic expansion

Basis: If  a d-b c (m+2)==0, then c+d x==((d (a+b (m+2) x))/(b (m+2)))

Rule 1.1.1.2.0: If  a d-b c (m+2)==0, then

∫(((a+b x))^m) (c+d x)dx  ⟶  (d/(b (m+2))) ∫(((a+b x))^m) (a+b (m+2) x)dx  ⟶  ((d x (((a+b x))^(m+1)))/(b (m+2)))

Int[(a_+b_.*x_)^m_.*(c_+d_.*x_),x_Symbol] :=
  d*x*(a+b*x)^(m+1)/(b*(m+2)) /;
FreeQ[{a,b,c,d,m},x] && EqQ[a*d-b*c*(m+2),0]

1.  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m+n+2==0

1.  ∫(1/((a+b x) (c+d x)))dx  when  b c-a d≠0

1:  ∫(1/((a+b x) (c+d x)))dx  when  b c+a d==0

Derivation: Algebraic simplification

Basis: If  b c+a d==0, then (a+b x) (c+d x)==a c+b d (x^2)

Rule 1.1.1.2.1.1.1: If  b c+a d==0, then

∫(1/((a+b x) (c+d x)))dx  ⟶  ∫(1/(a c+b d (x^2)))dx

Program code:

Int[1/((a_+b_.*x_)*(c_+d_.*x_)),x_Symbol] :=
  Int[1/(a*c+b*d*x^2),x] /;
FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d,0]

2:  ∫(1/((a+b x) (c+d x)))dx  when  b c-a d≠0

Derivation: Algebraic expansion

Basis: (1/((a+b x) (c+d x)))==(b/((b c-a d) (a+b x)))-(d/((b c-a d) (c+d x)))

Rule 1.1.1.2.1.1.2: If  b c-a d≠0, then

∫(1/((a+b x) (c+d x)))dx  ⟶  (b/(b c-a d))∫(1/(a+b x))dx-(d/(b c-a d))∫(1/(c+d x))dx

Program code:

Int[1/((a_.+b_.*x_)*(c_.+d_.*x_)),x_Symbol] :=
  b/(b*c-a*d)*Int[1/(a+b*x),x] - d/(b*c-a*d)*Int[1/(c+d*x),x] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0]

2:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m+n+2==0 ∧ m≠-1

Reference: G&R 2.155, CRC 59a with m+n+2==0

Reference: G&R 2.110.2 or 2.110.6 with k=1 and m+n+2==0

Derivation: Linear recurrence 3 with m+n+2==0

Rule 1.1.1.2.1.2: If  b c-a d≠0 ∧ m+n+2==0 ∧ m≠-1, then

∫(((a+b x))^m) (((c+d x))^n)dx  ⟶   (((((a+b x))^(m+1)) (((c+d x))^(n+1)))/((b c-a d) (m+1)))

Program code:

Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)*(c+d*x)^(n+1)/((b*c-a*d)*(m+1)) /;
FreeQ[{a,b,c,d,m,n},x] && NeQ[b*c-a*d,0] && EqQ[m+n+2,0] && NeQ[m,-1]

2.  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c+a d==0 ∧ n==m

1:  ∫(((a+b x))^m) (((c+d x))^m)dx  when  b c+a d==0 ∧ m+(1/2)∈(SuperPlus[ℤ])

Derivation: Inverted integration by parts

Rule 1.1.1.2.2.1: If  b c+a d==0 ∧ m+(1/2)∈(SuperPlus[ℤ]), then

∫(((a+b x))^m) (((c+d x))^m)dx  ⟶   ((x (((a+b x))^m) (((c+d x))^m))/(2 m+1))+((2 a c m)/(2 m+1)) ∫(((a+b x))^(m-1)) (((c+d x))^(m-1))dx

Program code:

Int[(a_+b_.*x_)^m_*(c_+d_.*x_)^m_,x_Symbol] :=
  x*(a+b*x)^m*(c+d*x)^m/(2*m+1) + 2*a*c*m/(2*m+1)*Int[(a+b*x)^(m-1)*(c+d*x)^(m-1),x] /;
FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d,0] && IGtQ[m+1/2,0]

2.  ∫(((a+b x))^m) (((c+d x))^m)dx  when  b c+a d==0 ∧ m+(1/2)∈(SuperMinus[ℤ])

1:  ∫(1/((((a+b x))^(3/2)) (((c+d x))^(3/2))))dx  when  b c+a d==0

Rule 1.1.1.2.2.2.1: If  b c+a d==0, then

∫(1/((((a+b x))^(3/2)) (((c+d x))^(3/2))))dx  ⟶   (x/(a c (Sqrt[a+b x]) (Sqrt[c+d x])))

Program code:

Int[1/((a_+b_.*x_)^(3/2)*(c_+d_.*x_)^(3/2)),x_Symbol] :=
  x/(a*c*Sqrt[a+b*x]*Sqrt[c+d*x]) /;
FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d,0]

2:  ∫(((a+b x))^m) (((c+d x))^m)dx  when  b c+a d==0 ∧ m+(3/2)∈(SuperMinus[ℤ])

Derivation: Integration by parts

Basis: (((a+b x))^m) (((c+d x))^m)==(x^(2 (m+1)+1))(((((a+b x))^m) (((c+d x))^m))/(x^(2 (m+1)+1)))

Basis: If  b c+a d==0, then ∫(((((a+b x))^m) (((c+d x))^m))/(x^(2 (m+1)+1)))dx==-(((((a+b x))^(m+1)) (((c+d x))^(m+1)))/((x^(2 (m+1)))2 a c (m+1)))

Rule 1.1.1.2.2.2.2: If  b c+a d==0 ∧ m+(3/2)∈(SuperMinus[ℤ]), then

∫(((a+b x))^m) (((c+d x))^m)dx  ⟶   -((x (((a+b x))^(m+1)) (((c+d x))^(m+1)))/(2 a c (m+1)))+((2 m+3)/(2 a c (m+1))) ∫(((a+b x))^(m+1)) (((c+d x))^(m+1))dx

Program code:

Int[(a_+b_.*x_)^m_*(c_+d_.*x_)^m_,x_Symbol] :=
  -x*(a+b*x)^(m+1)*(c+d*x)^(m+1)/(2*a*c*(m+1)) + 
  (2*m+3)/(2*a*c*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(m+1),x] /;
FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d,0] && ILtQ[m+3/2,0]

3:  ∫(((a+b x))^m) (((c+d x))^m)dx  when  b c+a d==0 ∧ (m∈ℤ ∨ a>0 ∧ c>0)

Derivation: Algebraic simplification

Basis: If  b c+a d==0 ∧ (m∈ℤ ∨ a>0 ∧ c>0), then (((a+b x))^m) (((c+d x))^m)==(((a c+b d (x^2)))^m)

Rule 1.1.1.2.2.3: If  b c+a d==0 ∧ (m∈ℤ ∨ a>0 ∧ c>0), then

∫(((a+b x))^m) (((c+d x))^m)dx  ⟶  ∫(((a c+b d (x^2)))^m)dx

Program code:

Int[(a_+b_.*x_)^m_.*(c_+d_.*x_)^m_.,x_Symbol] :=
  Int[(a*c+b*d*x^2)^m,x] /;
FreeQ[{a,b,c,d,m},x] && EqQ[b*c+a*d,0] && (IntegerQ[m] || GtQ[a,0] && GtQ[c,0])

4:  ∫(((a+b x))^m) (((c+d x))^m)dx  when  b c+a d==0 ∧ 2 m∉ℤ

Derivation: Piecewise constant extraction

Basis: If  b c+a d==0, then (∂_x)(((((a+b x))^m) (((c+d x))^m))/(((a c+b d (x^2)))^m))==0

Basis: If  b c+a d==0, then (((((a+b x))^m) (((c+d x))^m))/(((a c+b d (x^2)))^m))==(((((a+b x))^(FracPart[m])) (((c+d x))^(FracPart[m])))/(((a c+b d (x^2)))^(FracPart[m])))

Rule 1.1.1.2.2.4: If  b c+a d==0 ∧ 2 m∉ℤ, then

∫(((a+b x))^m) (((c+d x))^m)dx  ⟶  (((((a+b x))^(FracPart[m])) (((c+d x))^(FracPart[m])))/(((a c+b d (x^2)))^(FracPart[m])))∫(((a c+b d (x^2)))^m)dx

Program code:

Int[(a_+b_.*x_)^m_*(c_+d_.*x_)^m_,x_Symbol] :=
  (a+b*x)^FracPart[m]*(c+d*x)^FracPart[m]/(a*c+b*d*x^2)^FracPart[m]*Int[(a*c+b*d*x^2)^m,x] /;
FreeQ[{a,b,c,d,m},x] && EqQ[b*c+a*d,0] && Not[IntegerQ[2*m]]

?.  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m+1∈(SuperMinus[ℤ])∧ n∉ℤ

1:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m+1∈(SuperMinus[ℤ])∧ n∉ℤ ∧ n>0

Reference: G&R 2.110.3 or 2.110.4 with k=1

Derivation: Integration by parts

Basis: (((a+b x))^m)==(∂_x)((((a+b x))^(m+1))/(b (m+1)))

Rule 1.1.1.2.5.1: If  b c-a d≠0 ∧ m+1∈(SuperMinus[ℤ])∧ n∉ℤ ∧ n>0, then

∫(((a+b x))^m) (((c+d x))^n)dx  ⟶  (((((a+b x))^(m+1)) (((c+d x))^n))/(b(m+1)))-((d n)/(b(m+1)))∫(((a+b x))^(m+1)) (((c+d x))^(n-1))dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)*(c+d*x)^n/(b*(m+1)) - 
  d*n/(b*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-1),x] /;
FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0] && ILtQ[m,-1] && Not[IntegerQ[n]] && GtQ[n,0]

2:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m+1∈(SuperMinus[ℤ])∧ n∉ℤ ∧ n<0

Reference: G&R 2.155, CRC 59a

Reference: G&R 2.110.2 or 2.110.6 with k=1

Derivation: Integration by parts

Basis: (((a+b x))^m) (((c+d x))^n)==(((c+d x))^(m+n+2)) ((((a+b x))^m)/(((c+d x))^(m+2)))

Basis: ((((a+b x))^m)/(((c+d x))^(m+2)))==(∂_x)((((a+b x))^(m+1))/((b c-a d) (m+1) (((c+d x))^(m+1))))

Rule 1.1.1.2.4: If  b c-a d≠0 ∧ m+1∈(SuperMinus[ℤ])∧ n∉ℤ ∧ n<0, then

∫(((a+b x))^m)(((c+d x))^n)dx  ⟶  (((((a+b x))^(m+1)) (((c+d x))^(n+1)))/((b c-a d) (m+1)))-((d (m+n+2))/((b c-a d) (m+1)))∫(((a+b x))^(m+1)) (((c+d x))^n)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)*(c+d*x)^(n+1)/((b*c-a*d)*(m+1)) - 
  d*(m+n+2)/((b*c-a*d)*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^n,x] /;
FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0] && ILtQ[m,-1] && Not[IntegerQ[n]] && LtQ[n,0]

3.  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m∈ℤ

1:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Rule 1.1.1.2.3.1: If  b c-a d≠0 ∧ m∈(SuperPlus[ℤ]), then

∫(((a+b x))^m) (((c+d x))^n)dx  ⟶  ∫ExpandIntegrand[(((a+b x))^m) (((c+d x))^n),x]dx

Program code:

Int[(a_.+b_.*x_)^m_.*(c_.+d_.*x_)^n_.,x_Symbol] :=
  Int[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n,x],x] /;
FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0] && IGtQ[m,0] && 
  (Not[IntegerQ[n]] || EqQ[c,0] && LeQ[7*m+4*n+4,0] || LtQ[9*m+5*(n+1),0] || GtQ[m+n+2,0])

2:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m∈(SuperMinus[ℤ])∧ n∈ℤ

Derivation: Algebraic expansion

Rule 1.1.1.2.3.2: If  b c-a d≠0 ∧ m∈(SuperMinus[ℤ])∧ n∈ℤ, then

∫(((a+b x))^m) (((c+d x))^n)dx  ⟶  ∫ExpandIntegrand[(((a+b x))^m) (((c+d x))^n),x]dx

Program code:

Int[(a_+b_.*x_)^m_*(c_.+d_.*x_)^n_.,x_Symbol] :=
  Int[ExpandIntegrand[(a+b*x)^m*(c+d*x)^n,x],x] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && ILtQ[m,0] && IntegerQ[n] && Not[IGtQ[n,0] && LtQ[m+n+2,0]]

4:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m+n+2∈(SuperMinus[ℤ])∧ m≠-1

Reference: G&R 2.155, CRC 59a

Reference: G&R 2.110.2 or 2.110.6 with k=1

Derivation: Linear recurrence 3

Derivation: Integration by parts

Basis: (((a+b x))^m) (((c+d x))^n)==(((c+d x))^(m+n+2)) ((((a+b x))^m)/(((c+d x))^(m+2)))

Rule 1.1.1.2.4: If  b c-a d≠0 ∧ m+n+2∈(SuperMinus[ℤ])∧ m≠-1, then

∫(((a+b x))^m)(((c+d x))^n)dx  ⟶  (((((a+b x))^(m+1)) (((c+d x))^(n+1)))/((b c-a d) (m+1)))-((d (m+n+2))/((b c-a d) (m+1)))∫(((a+b x))^(m+1)) (((c+d x))^n)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)*(c+d*x)^(n+1)/((b*c-a*d)*(m+1)) - 
  d*Simplify[m+n+2]/((b*c-a*d)*(m+1))*Int[(a+b*x)^Simplify[m+1]*(c+d*x)^n,x] /;
FreeQ[{a,b,c,d,m,n},x] && NeQ[b*c-a*d,0] && ILtQ[Simplify[m+n+2],0] && NeQ[m,-1] && 
  Not[LtQ[m,-1] && LtQ[n,-1] && (EqQ[a,0] || NeQ[c,0] && LtQ[m-n,0] && IntegerQ[n])] && 
  (SumSimplerQ[m,1] || Not[SumSimplerQ[n,1]])

5.  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ n>0

1:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ n>0 ∧ m<-1

Reference: G&R 2.110.3 or 2.110.4 with k=1

Derivation: Integration by parts

Basis: (((a+b x))^m)==(∂_x)((((a+b x))^(m+1))/(b (m+1)))

Note: If n∈ℤ and m∉ℤ, there is no need to drive m toward 0 along with n.

Rule 1.1.1.2.5.1: If  b c-a d≠0 ∧ n>0 ∧ m<-1, then

∫(((a+b x))^m) (((c+d x))^n)dx  ⟶  (((((a+b x))^(m+1)) (((c+d x))^n))/(b(m+1)))-((d n)/(b(m+1)))∫(((a+b x))^(m+1)) (((c+d x))^(n-1))dx

Program code:

Int[1/((a_+b_.*x_)^(9/4)*(c_+d_.*x_)^(1/4)),x_Symbol] :=
  -4/(5*b*(a+b*x)^(5/4)*(c+d*x)^(1/4)) - d/(5*b)*Int[1/((a+b*x)^(5/4)*(c+d*x)^(5/4)),x] /;
FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d,0] && NegQ[a^2*b^2]

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)*(c+d*x)^n/(b*(m+1)) - 
  d*n/(b*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^(n-1),x] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && GtQ[n,0] && LtQ[m,-1] && Not[IntegerQ[n] && Not[IntegerQ[m]]] && 
  Not[ILeQ[m+n+2,0] && (FractionQ[m] || GeQ[2*n+m+1,0])] && IntLinearQ[a,b,c,d,m,n,x]

2:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ n>0 ∧ m+n+1≠0

Reference: G&R 2.151, CRC 59b

Reference: G&R 2.110.1 or 2.110.5 with k=1

Derivation: Linear recurrence 2

Derivation: Inverted integration by parts

Rule 1.1.1.2.5.2: If  b c-a d≠0 ∧ n>0 ∧ m+n+1≠0, then

∫(((a+b x))^m)(((c+d x))^n)dx  ⟶  (((((a+b x))^(m+1)) (((c+d x))^n))/(b(m+n+1)))+((n(b c-a d))/(b(m+n+1)))∫(((a+b x))^m) (((c+d x))^(n-1))dx

Program code:

Int[1/((a_+b_.*x_)^(5/4)*(c_+d_.*x_)^(1/4)),x_Symbol] :=
  -2/(b*(a+b*x)^(1/4)*(c+d*x)^(1/4)) + c*Int[1/((a+b*x)^(5/4)*(c+d*x)^(5/4)),x] /;
FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d,0] && NegQ[a^2*b^2]

Int[(a_+b_.*x_)^m_*(c_+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)*(c+d*x)^n/(b*(m+n+1)) + 
  2*c*n/(m+n+1)*Int[(a+b*x)^m*(c+d*x)^(n-1),x] /;
FreeQ[{a,b,c,d},x] && EqQ[b*c+a*d,0] && IGtQ[m+1/2,0] && IGtQ[n+1/2,0] && LtQ[m,n]

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)*(c+d*x)^n/(b*(m+n+1)) + 
  n*(b*c-a*d)/(b*(m+n+1))*Int[(a+b*x)^m*(c+d*x)^(n-1),x] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && GtQ[n,0] && NeQ[m+n+1,0] && 
  Not[IGtQ[m,0] && (Not[IntegerQ[n]] || GtQ[m,0] && LtQ[m-n,0])] && 
  Not[ILtQ[m+n+2,0]] && IntLinearQ[a,b,c,d,m,n,x]

6:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m<-1

Reference: G&R 2.155, CRC 59a

Reference: G&R 2.110.2 or 2.110.6 with k=1

Derivation: Linear recurrence 3

Derivation: Integration by parts

Basis: (((a+b x))^m) (((c+d x))^n)==(((c+d x))^(m+n+2)) ((((a+b x))^m)/(((c+d x))^(m+2)))

Rule 1.1.1.2.6: If  b c-a d≠0 ∧ m<-1, then

∫(((a+b x))^m)(((c+d x))^n)dx  ⟶  (((((a+b x))^(m+1)) (((c+d x))^(n+1)))/((b c-a d) (m+1)))-((d (m+n+2))/((b c-a d) (m+1)))∫(((a+b x))^(m+1)) (((c+d x))^n)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)*(c+d*x)^(n+1)/((b*c-a*d)*(m+1)) - 
  d*(m+n+2)/((b*c-a*d)*(m+1))*Int[(a+b*x)^(m+1)*(c+d*x)^n,x] /;
FreeQ[{a,b,c,d,n},x] && NeQ[b*c-a*d,0] && LtQ[m,-1] && 
  Not[LtQ[n,-1] && (EqQ[a,0] || NeQ[c,0] && LtQ[m-n,0] && IntegerQ[n])] && IntLinearQ[a,b,c,d,m,n,x]

7.  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ -1≤m<0 ∧ -1<n<0

1.  ∫(1/((Sqrt[a+b x]) (Sqrt[c+d x])))dx  when  b c-a d≠0

1:  ∫(1/((Sqrt[a+b x]) (Sqrt[c+d x])))dx  when a+c==0 ∧ b-d==0 ∧ a>0

Rule 1.1.1.2.7.1.1: If  a+c==0 ∧ b-d==0 ∧ a>0, then

∫(1/((Sqrt[a+b x]) (Sqrt[c+d x])))dx  ⟶  (1/b)ArcCosh[((b x)/a)]

Program code:

Int[1/(Sqrt[a_+b_.*x_]*Sqrt[c_+d_.*x_]),x_Symbol] :=
  ArcCosh[b*x/a]/b /;
FreeQ[{a,b,c,d},x] && EqQ[a+c,0] && EqQ[b-d,0] && GtQ[a,0]

2:  ∫(1/((Sqrt[a+b x]) (Sqrt[c+d x])))dx  when b+d==0 ∧ a+c>0

Derivation: Algebraic simplification

Basis: If  a+c>0, then (((a+b x))^m) (((c-b x))^m)==((((a+b x) (c-b x)))^m)==(((a c-b (a-c) x-(b^2) (x^2)))^m)

Rule 1.1.1.2.7.1.2: If  b+d==0 ∧ a+c>0, then

∫(1/((Sqrt[a+b x]) (Sqrt[c+d x])))dx  ⟶  ∫(1/(Sqrt[a c-b (a-c) x-(b^2) (x^2)]))dx

Program code:

Int[1/(Sqrt[a_+b_.*x_]*Sqrt[c_.+d_.*x_]),x_Symbol] :=
  Int[1/Sqrt[a*c-b*(a-c)*x-b^2*x^2],x] /;
FreeQ[{a,b,c,d},x] && EqQ[b+d,0] && GtQ[a+c,0]

3:  ∫(1/((Sqrt[a+b x]) (Sqrt[c+d x])))dx  when b c-a d>0 ∧ b>0

Derivation: Integration by substitution

Basis: If  b>0, then (1/((Sqrt[a+b x]) (Sqrt[c+d x])))==(2/(Sqrt[b]))Subst[(1/(Sqrt[b c-a d+d (x^2)])),x,(Sqrt[a+b x])] (∂_x)(Sqrt[a+b x])

Rule 1.1.1.2.7.1.3: If  b c-a d>0 ∧ b>0, then

∫(1/((Sqrt[a+b x]) (Sqrt[c+d x])))dx  ⟶   (2/(Sqrt[b]))Subst[∫(1/(Sqrt[b c-a d+d (x^2)]))dx,x,(Sqrt[a+b x])]

Program code:

Int[1/(Sqrt[a_.+b_.*x_]*Sqrt[c_.+d_.*x_]),x_Symbol] :=
  2/Sqrt[b]*Subst[Int[1/Sqrt[b*c-a*d+d*x^2],x],x,Sqrt[a+b*x]] /;
FreeQ[{a,b,c,d},x] && GtQ[b*c-a*d,0] && GtQ[b,0]

2.  ∫(1/((a+b x) (((c+d x))^(1/3))))dx  when  b c-a d≠0

1:  ∫(1/((a+b x) (((c+d x))^(1/3)))) dx  when  ((b c-a d)/b)>0

Derivation: Integration by substitution

Basis: Let q=(((((b c-a d)/b)))^(1/3)), then (1/((a+b x) (((c+d x))^(1/3))))==-(1/(2 q (a+b x)))-Subst[(3/(2 b q (q-x)))-(3/(2 b ((q^2)+q x+(x^2)))),x,(((c+d x))^(1/3))](∂_x)(((c+d x))^(1/3))

Rule 1.1.1.2.7.2.1: If  ((b c-a d)/b)>0, let q=(((((b c-a d)/b)))^(1/3)), then

∫(1/((a+b x) (((c+d x))^(1/3))))dx  ⟶  
-((Log[a+b x])/(2 b q))-(3/(2 b q))Subst[∫(1/(q-x))dx,x,(((c+d x))^(1/3))]+(3/(2 b))Subst[∫(1/((q^2)+q x+(x^2)))dx,x,(((c+d x))^(1/3))]

Program code:

Int[1/((a_.+b_.*x_)*(c_.+d_.*x_)^(1/3)),x_Symbol] :=
  With[{q=Rt[(b*c-a*d)/b,3]},
  -Log[RemoveContent[a+b*x,x]]/(2*b*q) - 
  3/(2*b*q)*Subst[Int[1/(q-x),x],x,(c+d*x)^(1/3)] + 
  3/(2*b)*Subst[Int[1/(q^2+q*x+x^2),x],x,(c+d*x)^(1/3)]] /;
FreeQ[{a,b,c,d},x] && PosQ[(b*c-a*d)/b]

2:  ∫(1/((a+b x) (((c+d x))^(1/3)))) dx  when  ((b c-a d)/b)≯0

Derivation: Integration by substitution

Basis: Let q=(((-((b c-a d)/b)))^(1/3)), then (1/((a+b x) (((c+d x))^(1/3))))==(1/(2 q (a+b x)))-Subst[(3/(2 b q (q+x)))-(3/(2 b ((q^2)-q x+(x^2)))),x,(((c+d x))^(1/3))](∂_x)(((c+d x))^(1/3))

Rule 1.1.1.2.7.2.2: If  ((b c-a d)/b)≯0, let q=(((-((b c-a d)/b)))^(1/3)), then

∫(1/((a+b x) (((c+d x))^(1/3))))dx  ⟶  
((Log[a+b x])/(2 b q))-(3/(2 b q))Subst[∫(1/(q+x))dx,x,(((c+d x))^(1/3))]+(3/(2 b))Subst[∫(1/((q^2)-q x+(x^2)))dx,x,(((c+d x))^(1/3))]

Program code:

Int[1/((a_.+b_.*x_)*(c_.+d_.*x_)^(1/3)),x_Symbol] :=
  With[{q=Rt[-(b*c-a*d)/b,3]},
  Log[RemoveContent[a+b*x,x]]/(2*b*q) - 
  3/(2*b*q)*Subst[Int[1/(q+x),x],x,(c+d*x)^(1/3)] + 
  3/(2*b)*Subst[Int[1/(q^2-q*x+x^2),x],x,(c+d*x)^(1/3)]] /;
FreeQ[{a,b,c,d},x] && NegQ[(b*c-a*d)/b]

3.  ∫(1/((a+b x) (((c+d x))^(2/3))))dx  when  b c-a d≠0

1:  ∫(1/((a+b x) (((c+d x))^(2/3)))) dx  when  ((b c-a d)/b)>0

Derivation: Integration by substitution

Basis: Let q=(((((b c-a d)/b)))^(1/3)), then (1/((a+b x) (((c+d x))^(2/3))))==-(1/(2(q^2) (a+b x)))-Subst[(3/(2 b (q^2) (q-x)))+(3/(2 b q ((q^2)+q x+(x^2)))),x,(((c+d x))^(1/3))](∂_x)(((c+d x))^(1/3))

Rule 1.1.1.2.7.3.1: If  ((b c-a d)/b)>0, let q=(((((b c-a d)/b)))^(1/3)), then

∫(1/((a+b x) (((c+d x))^(2/3))))dx  ⟶  
-((Log[a+b x])/(2 b (q^2)))-(3/(2 b (q^2)))Subst[∫(1/(q-x))dx,x,(((c+d x))^(1/3))]-(3/(2 b q))Subst[∫(1/((q^2)+q x+(x^2)))dx,x,(((c+d x))^(1/3))]

Program code:

Int[1/((a_.+b_.*x_)*(c_.+d_.*x_)^(2/3)),x_Symbol] :=
  With[{q=Rt[(b*c-a*d)/b,3]},
  -Log[RemoveContent[a+b*x,x]]/(2*b*q^2) - 
  3/(2*b*q^2)*Subst[Int[1/(q-x),x],x,(c+d*x)^(1/3)] - 
  3/(2*b*q)*Subst[Int[1/(q^2+q*x+x^2),x],x,(c+d*x)^(1/3)]] /;
FreeQ[{a,b,c,d},x] && PosQ[(b*c-a*d)/b]

2:  ∫(1/((a+b x) (((c+d x))^(2/3)))) dx  when  ((b c-a d)/b)≯0

Derivation: Integration by substitution

Basis: Let q=(((-((b c-a d)/b)))^(1/3)), then (1/((a+b x) (((c+d x))^(2/3))))==-(1/(2(q^2) (a+b x)))+Subst[(3/(2 b (q^2) (q+x)))+(3/(2 b q ((q^2)-q x+(x^2)))),x,(((c+d x))^(1/3))](∂_x)(((c+d x))^(1/3))

Rule 1.1.1.2.7.3.2: If  ((b c-a d)/b)≯0, let q=(((-((b c-a d)/b)))^(1/3)), then

∫(1/((a+b x) (((c+d x))^(2/3))))dx  ⟶  
-((Log[a+b x])/(2 b (q^2)))+(3/(2 b (q^2)))Subst[∫(1/(q+x))dx,x,(((c+d x))^(1/3))]+(3/(2 b q))Subst[∫(1/((q^2)-q x+(x^2)))dx,x,(((c+d x))^(1/3))]

Program code:

Int[1/((a_.+b_.*x_)*(c_.+d_.*x_)^(2/3)),x_Symbol] :=
  With[{q=Rt[-(b*c-a*d)/b,3]},
  -Log[RemoveContent[a+b*x,x]]/(2*b*q^2) + 
  3/(2*b*q^2)*Subst[Int[1/(q+x),x],x,(c+d*x)^(1/3)] + 
  3/(2*b*q)*Subst[Int[1/(q^2-q*x+x^2),x],x,(c+d*x)^(1/3)]] /;
FreeQ[{a,b,c,d},x] && NegQ[(b*c-a*d)/b]

4.  ∫(1/((((a+b x))^(1/3)) (((c+d x))^(2/3))))dx  when  b c-a d≠0

1:  ∫(1/((((a+b x))^(1/3)) (((c+d x))^(2/3))))dx  when  b c-a d≠0 ∧ (d/b)>0

Rule 1.1.1.2.7.4.1: If  b c-a d≠0 ∧ (d/b)>0, let q=((((d/b)))^(1/3)), then

∫(1/((((a+b x))^(1/3)) (((c+d x))^(2/3))))dx  ⟶  -(((Sqrt[3]) q)/d) ArcTan[((2 q (((a+b x))^(1/3)))/((Sqrt[3]) (((c+d x))^(1/3))))+(1/(Sqrt[3]))]-(q/(2 d)) Log[c+d x]-((3 q)/(2 d)) Log[((q (((a+b x))^(1/3)))/(((c+d x))^(1/3)))-1]

Program code:

Int[1/((a_.+b_.*x_)^(1/3)*(c_.+d_.*x_)^(2/3)),x_Symbol] :=
  With[{q=Rt[d/b,3]},
  -Sqrt[3]*q/d*ArcTan[2*q*(a+b*x)^(1/3)/(Sqrt[3]*(c+d*x)^(1/3))+1/Sqrt[3]] - 
  q/(2*d)*Log[c+d*x] - 
  3*q/(2*d)*Log[q*(a+b*x)^(1/3)/(c+d*x)^(1/3)-1]] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && PosQ[d/b]

2:  ∫(1/((((a+b x))^(1/3)) (((c+d x))^(2/3))))dx  when  b c-a d≠0 ∧ (d/b)≯0

Rule 1.1.1.2.7.4.2: If  b c-a d≠0 ∧ (d/b)≯0, let q=(((-(d/b)))^(1/3)), then

∫(1/((((a+b x))^(1/3)) (((c+d x))^(2/3))))dx  ⟶  (((Sqrt[3]) q)/d) ArcTan[(1/(Sqrt[3]))-((2 q (((a+b x))^(1/3)))/((Sqrt[3]) (((c+d x))^(1/3))))]+(q/(2 d)) Log[c+d x]+((3 q)/(2 d)) Log[((q (((a+b x))^(1/3)))/(((c+d x))^(1/3)))+1]

Program code:

Int[1/((a_.+b_.*x_)^(1/3)*(c_.+d_.*x_)^(2/3)),x_Symbol] :=
  With[{q=Rt[-d/b,3]},
  Sqrt[3]*q/d*ArcTan[1/Sqrt[3]-2*q*(a+b*x)^(1/3)/(Sqrt[3]*(c+d*x)^(1/3))] + 
  q/(2*d)*Log[c+d*x] + 
  3*q/(2*d)*Log[q*(a+b*x)^(1/3)/(c+d*x)^(1/3)+1]] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && NegQ[d/b]

5:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ -1<m<0 ∧ n==m ∧ 3≤Denominator[m]≤4

Derivation: Piecewise constant extraction

Basis: (∂_x)(((((a+b x))^m) (((c+d x))^m))/((((a+b x) (c+d x)))^m))==0

Rule 1.1.1.2.7.5: If  b c-a d≠0 ∧ -1<m<0 ∧ 3≤Denominator[m]≤4, then

∫(((a+b x))^m) (((c+d x))^n)dx  ⟶  (((((a+b x))^m) (((c+d x))^m))/(((a c+(b c+a d) x+b d (x^2)))^m)) ∫(((a c+(b c+a d) x+b d (x^2)))^m)dx

∫(((a+b x))^m) (((c+d x))^n)dx  ⟶  (((((a+b x))^m) (((c+d x))^m))/((((a+b x) (c+d x)))^m)) ∫(((a c+(b c+a d) x+b d (x^2)))^m)dx

Program code:

Int[(a_.+b_.*x_)^m_*(c_+d_.*x_)^m_,x_Symbol] :=
  (a+b*x)^m*(c+d*x)^m/(a*c+(b*c+a*d)*x+b*d*x^2)^m*Int[(a*c+(b*c+a*d)*x+b*d*x^2)^m,x] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && LtQ[-1,m,0] && LeQ[3,Denominator[m],4] && AtomQ[b*c+a*d]

Int[(a_.+b_.*x_)^m_*(c_+d_.*x_)^m_,x_Symbol] :=
  (a+b*x)^m*(c+d*x)^m/((a+b*x)*(c+d*x))^m*Int[(a*c+(b*c+a*d)*x+b*d*x^2)^m,x] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && LtQ[-1,m,0] && LeQ[3,Denominator[m],4]

6:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ -1<m<0 ∧ -1≤n<0

Derivation: Integration by substitution

Basis: If  p∈(SuperPlus[ℤ]), then (((a+b x))^m)(((c+d x))^n)==(p/b)Subst[(x^(p (m+1)-1))(((c-((a d)/b)+(d/b) (x^p)))^n),x,(((a+b x))^(1/p))](∂_x)(((a+b x))^(1/p))

Rule 1.1.1.2.7.7: If  b c-a d≠0 ∧ -1<m<0 ∧ -1≤n<0, let p=Denominator[m], then

∫(((a+b x))^m)(((c+d x))^n)dx  ⟶  (p/b) Subst[∫(x^(p (m+1)-1))(((c-((a d)/b)+((d (x^p))/b)))^n)dx,x,(((a+b x))^(1/p))]

Program code:

Int[(a_.+b_.*x_)^m_*(c_.+d_.*x_)^n_,x_Symbol] :=
  With[{p=Denominator[m]},
  p/b*Subst[Int[x^(p*(m+1)-1)*(c-a*d/b+d*x^p/b)^n,x],x,(a+b*x)^(1/p)]] /;
FreeQ[{a,b,c,d},x] && NeQ[b*c-a*d,0] && LtQ[-1,m,0] && LeQ[-1,n,0] && LeQ[Denominator[n],Denominator[m]] && 
  IntLinearQ[a,b,c,d,m,n,x]

H.  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0

1.  ∫(((b x))^m) (((c+d x))^n)dx

1:  ∫(((b x))^m) (((c+d x))^n)dx  when  m∉ℤ ∧ (n∈ℤ ∨ c>0)

Rule 1.1.1.2.H.1.1: If  m∉ℤ ∧ (n∈ℤ ∨ c>0), then

∫(((b x))^m)(((c+d x))^n)dx  ⟶  (((c^n) (((b x))^(m+1)))/(b (m+1))) Hypergeometric2F1[-n,m+1,m+2,-((d x)/c)]

Program code:

Int[(b_.*x_)^m_*(c_+d_.*x_)^n_,x_Symbol] :=
  c^n*(b*x)^(m+1)/(b*(m+1))*Hypergeometric2F1[-n,m+1,m+2,-d*x/c] /;
FreeQ[{b,c,d,m,n},x] && Not[IntegerQ[m]] && (IntegerQ[n] || GtQ[c,0] && Not[EqQ[n,-1/2] && EqQ[c^2-d^2,0] && GtQ[-d/(b*c),0]])

2:  ∫(((b x))^m) (((c+d x))^n)dx  when  n∉ℤ ∧ (m∈ℤ ∨ -(d/(b c))>0)

Rule 1.1.1.2.H.1.2: If  n∉ℤ ∧ (m∈ℤ ∨ -(d/(b c))>0), then

∫(((b x))^m)(((c+d x))^n)dx  ⟶  ((((c+d x))^(n+1))/(d (n+1) (((-(d/(b c))))^m)))Hypergeometric2F1[-m,n+1,n+2,1+((d x)/c)]

Program code:

Int[(b_.*x_)^m_*(c_+d_.*x_)^n_,x_Symbol] :=
  (c+d*x)^(n+1)/(d*(n+1)*(-d/(b*c))^m)*Hypergeometric2F1[-m,n+1,n+2,1+d*x/c] /;
FreeQ[{b,c,d,m,n},x] && Not[IntegerQ[n]] && (IntegerQ[m] || GtQ[-d/(b*c),0])

3.  ∫(((b x))^m) (((c+d x))^n)dx  when  m∉ℤ ∧ n∉ℤ ∧ c≯0 ∧ -(d/(b c))≯0

1:  ∫(((b x))^m) (((c+d x))^n)dx  when  m∉ℤ ∧ n∉ℤ ∧ c≯0 ∧ -(d/(b c))≯0 ∧ (m∈ℝ ∨ n∉ℝ)

Derivation: Piecewise constant extraction

Basis: (∂_x)((((c+d x))^n)/(((1+((d x)/c)))^n))==0

Rule 1.1.1.2.H.1.3.1: If  m∉ℤ ∧ n∉ℤ ∧ c≯0 ∧ -(d/(b c))≯0 ∧ (m∈ℝ ∨ n∉ℝ), then

∫(((b x))^m) (((c+d x))^n)dx  ⟶  (((c^(IntPart[n])) (((c+d x))^(FracPart[n])))/(((1+((d x)/c)))^(FracPart[n]))) ∫(((b x))^m) (((1+((d x)/c)))^n)dx

Program code:

Int[(b_.*x_)^m_*(c_+d_.*x_)^n_,x_Symbol] :=
  c^IntPart[n]*(c+d*x)^FracPart[n]/(1+d*x/c)^FracPart[n]*Int[(b*x)^m*(1+d*x/c)^n,x] /;
FreeQ[{b,c,d,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && Not[GtQ[c,0]] && Not[GtQ[-d/(b*c),0]] && 
  (RationalQ[m] && Not[EqQ[n,-1/2] && EqQ[c^2-d^2,0]] || Not[RationalQ[n]])

2:  ∫(((b x))^m) (((c+d x))^n)dx  when  m∉ℤ ∧ n∉ℤ ∧ c≯0 ∧ -(d/(b c))≯0 ∧ ¬(m∈ℝ ∨ n∉ℝ)

Derivation: Piecewise constant extraction

Basis: (∂_x)((((b x))^m)/(((-((d x)/c)))^m))==0

Rule 1.1.1.2.H.1.3.2: If  m∉ℤ ∧ n∉ℤ ∧ c≯0 ∧ -(d/(b c))≯0 ∧ ¬(m∈ℝ ∨ n∉ℝ), then

∫(((b x))^m) (((c+d x))^n)dx  ⟶  (((((-((b c)/d)))^(IntPart[m])) (((b x))^(FracPart[m])))/(((-((d x)/c)))^(FracPart[m]))) ∫(((-((d x)/c)))^m) (((c+d x))^n)dx

Program code:

Int[(b_.*x_)^m_*(c_+d_.*x_)^n_,x_Symbol] :=
  (-b*c/d)^IntPart[m]*(b*x)^FracPart[m]/(-d*x/c)^FracPart[m]*Int[(-d*x/c)^m*(c+d*x)^n,x] /;
FreeQ[{b,c,d,m,n},x] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && Not[GtQ[c,0]] && Not[GtQ[-d/(b*c),0]]

2.  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m∉ℤ

1:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m∉ℤ ∧ (n∈ℤ ∨ (b/(b c-a d))>0)

Rule 1.1.1.2.H.2.2.1: If  b c-a d≠0 ∧ m∉ℤ ∧ (n∈ℤ ∨ (b/(b c-a d))>0), then

∫(((a+b x))^m)(((c+d x))^n)dx  ⟶  ((((a+b x))^(m+1))/(b (m+1) ((((b/(b c-a d))))^n))) Hypergeometric2F1[-n,m+1,m+2,-((d (a+b x))/(b c-a d))]

Program code:

Int[(a_+b_.*x_)^m_*(c_+d_.*x_)^n_,x_Symbol] :=
  (b*c-a*d)^n*(a+b*x)^(m+1)/(b^(n+1)*(m+1))*Hypergeometric2F1[-n,m+1,m+2,-d*(a+b*x)/(b*c-a*d)] /;
FreeQ[{a,b,c,d,m},x] && NeQ[b*c-a*d,0] && Not[IntegerQ[m]] && IntegerQ[n]

Int[(a_+b_.*x_)^m_*(c_+d_.*x_)^n_,x_Symbol] :=
  (a+b*x)^(m+1)/(b*(m+1)*(b/(b*c-a*d))^n)*Hypergeometric2F1[-n,m+1,m+2,-d*(a+b*x)/(b*c-a*d)] /;
FreeQ[{a,b,c,d,m,n},x] && NeQ[b*c-a*d,0] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && GtQ[b/(b*c-a*d),0] && 
  (RationalQ[m] || Not[RationalQ[n] && GtQ[-d/(b*c-a*d),0]])

2:  ∫(((a+b x))^m) (((c+d x))^n)dx  when  b c-a d≠0 ∧ m∉ℤ ∧ n∉ℤ ∧ (b/(b c-a d))≯0

Derivation: Piecewise constant extraction

Basis: (∂_x)((((c+d x))^n)/(((((b c)/(b c-a d))+((b d x)/(b c-a d))))^n))==0

Rule 1.1.1.2.H.2.2.2: If  b c-a d≠0 ∧ m∉ℤ ∧ n∉ℤ ∧ (b/(b c-a d))≯0, then

∫(((a+b x))^m) (((c+d x))^n)dx  ⟶  ((((c+d x))^(FracPart[n]))/(((((b/(b c-a d))))^(IntPart[n]))(((((b (c+d x))/(b c-a d))))^(FracPart[n])))) ∫(((a+b x))^m) (((((b c)/(b c-a d))+((b d x)/(b c-a d))))^n)dx

Program code:

Int[(a_+b_.*x_)^m_*(c_+d_.*x_)^n_,x_Symbol] :=
  (c+d*x)^FracPart[n]/((b/(b*c-a*d))^IntPart[n]*(b*(c+d*x)/(b*c-a*d))^FracPart[n])*
    Int[(a+b*x)^m*Simp[b*c/(b*c-a*d)+b*d*x/(b*c-a*d),x]^n,x] /;
FreeQ[{a,b,c,d,m,n},x] && NeQ[b*c-a*d,0] && Not[IntegerQ[m]] && Not[IntegerQ[n]] && (RationalQ[m] || Not[SimplerQ[n+1,m+1]])

S:  ∫(((a+b u))^m) (((c+d u))^n)dx  when  u==e+f x

Derivation: Integration by substitution

Rule 1.1.1.2.S: If  u==e+f x, then

∫(((a+b u))^m) (((c+d u))^n)dx  ⟶  (1/f)Subst[∫(((a+b x))^m) (((c+d x))^n)dx,x,u]

Program code:

Int[(a_.+b_.*u_)^m_.*(c_.+d_.*u_)^n_.,x_Symbol] :=
  1/Coefficient[u,x,1]*Subst[Int[(a+b*x)^m*(c+d*x)^n,x],x,u] /;
FreeQ[{a,b,c,d,m,n},x] && LinearQ[u,x] && NeQ[Coefficient[u,x,0],0]

(* IntLinearQ[a,b,c,d,m,n,x] returns True iff (a+b*x)^m*(c+d*x)^n is integrable wrt x in terms of non-hypergeometric functions. *)
IntLinearQ[a_,b_,c_,d_,m_,n_,x_] :=
  IGtQ[m,0] || IGtQ[n,0] || IntegersQ[3*m,3*n] || IntegersQ[4*m,4*n] || IntegersQ[2*m,6*n] || IntegersQ[6*m,2*n] || ILtQ[m+n,-1] || IntegerQ[m+n] && RationalQ[m]